//
//  CZBaseSementedController.m
//  i0S007通用项目
//
//  Created by Apple on 16/2/20.
//  Copyright © 2016年 Apple. All rights reserved.
//

#import "CZBaseSementedController.h"

@interface CZBaseSementedController ()

@end

@implementation CZBaseSementedController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self setupSegmentedControl];
}

- (void)setupSegmentedControl {
    
    // 需要约定一个方法:不一样的子类提供不一样的数据
    // self 有可能是 CZHomeViewController, 也有可能是CZMyFriendsViewController
    // 因为 itemsForBaseSegmented 方法是可选的,子类有可能实现,也有可能没有实现
    if (![self respondsToSelector:@selector(itemsForBaseSegmented)]) {
        CZLog(@"子类没有实现提供数据的方法");
        return;
    }
    
    NSArray *items = [self itemsForBaseSegmented];
    UISegmentedControl *seg = [[UISegmentedControl alloc] initWithItems:items];
    
    // 设置 selectedSegmentIndex 是不会触发 UIControlEventValueChanged 的事件,需要自己来调用UIControlEventValueChanged对应得方法
    seg.selectedSegmentIndex = 0;
    [self segmentedSelected:seg];
    
    seg.tintColor = CommonBGColor;
    [seg addTarget:self action:@selector(segmentedSelected:) forControlEvents:UIControlEventValueChanged];
    
    self.navigationItem.titleView = seg;
}

/**
 *  UISegmentedControl被点击了
 *
 *  @param seg
 */
- (void)segmentedSelected:(UISegmentedControl *)seg {
    // 不同的子类做不一样的事情
    // self 有可能是 CZHomeViewController, 也有可能是CZMyFriendsViewController
    if ([self respondsToSelector:@selector(baseControllerSegmentedSelected:)]) {
        [self baseControllerSegmentedSelected:seg];
    }
}

@end
